package cn.ruihusoft.ql.client;

import cn.ruihusoft.ql.pojo.ListResponse;
import cn.ruihusoft.ql.pojo.Response;
import cn.ruihusoft.ql.pojo.config.ConfigFilesResponse;
import cn.ruihusoft.ql.pojo.config.UpdateConfigRequest;
import com.dtflys.forest.annotation.Get;
import com.dtflys.forest.annotation.JSONBody;
import com.dtflys.forest.annotation.Post;
import com.dtflys.forest.annotation.Var;

public interface ConfigClient extends BaseAuthClient {

    /**
     * 获取配置文件列表
     *
     * @return
     */
    @Get("/configs/files")
    ListResponse<ConfigFilesResponse> files();

    /**
     * 获取配置文件内容
     *
     * @param file
     * @return
     */
    @Get("/configs/{file}")
    Response<String> fileContent(@Var("file") String file);

    /**
     * 保存配置文件
     *
     * @param request
     * @return
     */
    @Post("/configs/save")
    Response<String> updateContent(@JSONBody UpdateConfigRequest request);
}
